﻿namespace Amazon.Checkout.Models
{
    using Orchard.ContentManagement;

    public class SiteSettingsPart : ContentPart<SiteSettingsPartRecord>
    {
        public string MerchantId
        {
            get { return Record.MerchantId; }
            set { Record.MerchantId = value; }
        }

        public string AwsAccessKeyId
        {
            get { return Record.AwsAccessKeyId; }
            set { Record.AwsAccessKeyId = value; }
        }

        public string SecretKeyId
        {
            get { return Record.SecretKeyId; }
            set { Record.SecretKeyId = value; }
        }

        public string AssociateTag
        {
            get { return Record.AssociateTag; }
            set { Record.AssociateTag = value; }
        }

        public int? PromotionId
        {
            get { return Record.PromotionId; }
            set { Record.PromotionId = value; }
        }

        public int? TaxId
        {
            get { return Record.TaxId; }
            set { Record.TaxId = value; }
        }

        public string CurrencyCode
        {
            get { return Record.CurrencyCode; }
            set { Record.CurrencyCode = value; }
        }

        public string LengthUnitOfMeasure
        {
            get { return Record.LengthUnitOfMeasure; }
            set { Record.LengthUnitOfMeasure = value; }
        }

        public string VolumeUnitOfMeasure
        {
            get { return Record.VolumeUnitOfMeasure; }
            set { Record.VolumeUnitOfMeasure = value; }
        }

        public string WeightUnitOfMeasure
        {
            get { return Record.WeightUnitOfMeasure; }
            set { Record.WeightUnitOfMeasure = value; }
        }

        public string JewelryWeightUnitOfMeasure
        {
            get { return Record.JewelryWeightUnitOfMeasure; }
            set { Record.JewelryWeightUnitOfMeasure = value; }
        }

        public string DegreeUnitOfMeasure
        {
            get { return Record.DegreeUnitOfMeasure; }
            set { Record.DegreeUnitOfMeasure = value; }
        }

        public string MemorySizeUnitOfMeasure
        {
            get { return Record.MemorySizeUnitOfMeasure; }
            set { Record.MemorySizeUnitOfMeasure = value; }
        }

        public string FrequencyUnitOfMeasure
        {
            get { return Record.FrequencyUnitOfMeasure; }
            set { Record.FrequencyUnitOfMeasure = value; }
        }

        public string AmperageUnitOfMeasure
        {
            get { return Record.AmperageUnitOfMeasure; }
            set { Record.AmperageUnitOfMeasure = value; }
        }

        public string TimeUnitOfMeasure
        {
            get { return Record.TimeUnitOfMeasure; }
            set { Record.TimeUnitOfMeasure = value; }
        }

        public string DateUnitOfMeasure
        {
            get { return Record.DateUnitOfMeasure; }
            set { Record.DateUnitOfMeasure = value; }
        }

        public string AssemblyTimeUnitOfMeasure
        {
            get { return Record.AssemblyTimeUnitOfMeasure; }
            set { Record.AssemblyTimeUnitOfMeasure = value; }
        }

        public string AgeRecommendedUnitOfMeasure
        {
            get { return Record.AgeRecommendedUnitOfMeasure; }
            set { Record.AgeRecommendedUnitOfMeasure = value; }
        }

        public string BatteryPowerUnitOfMeasure
        {
            get { return Record.BatteryPowerUnitOfMeasure; }
            set { Record.BatteryPowerUnitOfMeasure = value; }
        }

        public string VoltageUnitOfMeasure
        {
            get { return Record.VoltageUnitOfMeasure; }
            set { Record.VoltageUnitOfMeasure = value; }
        }

        public string WattageUnitOfMeasure
        {
            get { return Record.WattageUnitOfMeasure; }
            set { Record.WattageUnitOfMeasure = value; }
        }

        public string TemperatureRatingUnitOfMeasure
        {
            get { return Record.TemperatureRatingUnitOfMeasure; }
            set { Record.TemperatureRatingUnitOfMeasure = value; }
        }

        public string ClothingSizeUnitOfMeasure
        {
            get { return Record.ClothingSizeUnitOfMeasure; }
            set { Record.ClothingSizeUnitOfMeasure = value; }
        }

        public bool AmazonInitializedButton()
        {
            return (!string.IsNullOrEmpty(this.MerchantId) && !string.IsNullOrEmpty(this.AwsAccessKeyId)) && !string.IsNullOrEmpty(this.SecretKeyId);
        }
    }
}